package cn.xuqiudong.rpc.common.constants;

import cn.xuqiudong.rpc.cluster.balance.LoadBalance;
import cn.xuqiudong.rpc.common.util.PropertiesUtils;
import cn.xuqiudong.rpc.protocol.Protocol;
import cn.xuqiudong.rpc.proxy.ProxyFactory;
import cn.xuqiudong.rpc.registry.RegistryFactory;
import cn.xuqiudong.rpc.serializer.XqdSerializer;

/**
 * 描述: 一些配置项， 参见xqd-rpc.properties 配置文件
 * @see PropertiesUtils
 * @author Vic.xu
 * @date 2022-02-21 13:08
 */
public final class ConfigKey {

    /**
     * 注册中心的配置项 {@link RegistryFactory}
     */
    public static final String REGISTRY_CONFIG = "xqd.registry";

    /**
     * 注册中心地址 配置项
     */
    public static final String REGISTRY_ADDRESS_CONFIG = "xqd.registry.address";

    /**
     * 序列化方式 配置项 {@link XqdSerializer}
     */
    public static final String SERIALIZER_CONFIG = "xqd.serializer";

    /**
     * 代理类的生成方式 配置项 {@link ProxyFactory}
     */
    public static final String PROXY_CONFIG = "xqd.proxy";

    /**
     * 负载均衡方式 配置项 {@link LoadBalance}
     */
    public static final String BALANCE_CONFIG = "xqd.balance";

    /**
     * 数据传输协议 配置项 {@link Protocol}
     */
    public static final String PROTOCOL_CONFIG = "xqd.balance";

    /**
     * RPC服务的端口配置项
     */
    public static final String PROTOCOL_PORT_CONFIG = "xqd.protocol.port";


}
